package 临时工具.shangyu2;

import java.io.IOException;
import java.nio.file.*;

public class EmptyFileFolderCopier {

    public static void main(String[] args) throws IOException {
        Path sourceDir = Paths.get("E:\\temp");
        Path targetDir = Paths.get("E:\\temp1");

        Files.walk(sourceDir).forEach(sourcePath -> {
            try {
                // 相对路径 = sourceDir 下的路径相对于 sourceDir 的位置
                Path relativePath = sourceDir.relativize(sourcePath);
                Path targetPath = targetDir.resolve(relativePath);

                if (Files.isDirectory(sourcePath)) {
                    // 创建目录（若不存在）
                    if (!Files.exists(targetPath)) {
                        Files.createDirectories(targetPath);
                    }
                } else {
                    // 文件处理
                    if (!Files.exists(targetPath)) {
                        Files.createDirectories(targetPath.getParent()); // 确保父目录存在
                        Files.createFile(targetPath); // 创建空文件
                    }
                }
            } catch (IOException e) {
                System.err.println("处理失败：" + sourcePath + " → " + e.getMessage());
            }
        });

        System.out.println("复制完成，仅保留空文件和目录结构。");
    }
}
